﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace Mantenimiento.CAD
{
    public class Revision
    {
        public static DataTable buscar()
        {
            dbManager db = new dbManager();

            //PARAMETROS 
            object[] parametros = new object[0];
            DataTable dt = db.EjecutarSP_DS("REVISIONES_SELECT_ALL", parametros).Tables[0];
            return dt;
        }
        public static DataTable buscar(int pId)
        {
            dbManager db = new dbManager();

            //PARAMETROS 
            object[] parametros = new object[2];
            parametros[0] = "@Id";
            parametros[1] = pId;
            DataTable dt = db.EjecutarSP_DS("REVISIONES_SELECT", parametros).Tables[0];
            return dt;
        }
        public static DataTable buscarxmatricula(string sMatricula)
        {
            dbManager db = new dbManager();

            //PARAMETROS 
            object[] parametros = new object[2];
            parametros[0] = "@Matricula";
            parametros[1] = sMatricula;
            DataTable dt = db.EjecutarSP_DS("REVISIONES_SELECT_MATRICULA", parametros).Tables[0];
            return dt;
        }

        public static int insertar
            (string sMatricula, DateTime pFecha, string pObservaciones, int iKilometros, int iHoras, int nRevision)
        {
            int iRet = -1;
            string sFecha = pFecha.ToString("dd/MM/yyyy hh:mm:ss");

            object[] parametros = new object[12];
            parametros[0] = "@Matricula";
            parametros[1] = sMatricula;
            parametros[2] = "@Fecha";
            parametros[3] = sFecha;
            parametros[4] = "@Observaciones";
            parametros[5] = pObservaciones;
            parametros[6] = "@Kilometros";
            parametros[7] = iKilometros;
            parametros[8] = "@Horas";
            parametros[9] = iHoras;
            parametros[10] = "@NRevision";
            parametros[11] = nRevision;

            dbManager db = new dbManager();
            db.Conectar();

            object salida = db.EjecutarSP("REVISIONES_INSERT", parametros);
            db.Desconectar();
            try
            {
                iRet = int.Parse(salida.ToString());
            }
            catch (Exception ex)
            {
                iRet = -10;
            }
            return iRet;
        }

        public static int modificar
            (string sMatricula, DateTime pFecha, string pObservaciones, int iKilometros, int iHoras, int nRevision, int iId)
        {
            int iRet = -1;
            string sFecha = pFecha.ToString("dd/MM/yyyy hh:mm:ss");


            object[] parametros = new object[14];
            parametros[0] = "@Matricula";
            parametros[1] = sMatricula;
            parametros[2] = "@Fecha";
            parametros[3] = sFecha;
            parametros[4] = "@Observaciones";
            parametros[5] = pObservaciones;
            parametros[6] = "@Kilometros";
            parametros[7] = iKilometros;
            parametros[8] = "@Horas";
            parametros[9] = iHoras;
            parametros[10] = "@NRevision";
            parametros[11] = nRevision;
            parametros[12] = "@Id";
            parametros[13] = iId;

            dbManager db = new dbManager();
            db.Conectar();

            object salida = db.EjecutarSP("REVISIONES_UPDATE", parametros);
            db.Desconectar();
            try
            {
                iRet = int.Parse(salida.ToString());
            }
            catch (Exception ex)
            {
                iRet = -10;
            }
            return iRet;
        }


        public static int eliminar
            (int iId)
        {
            int iRet = -1;
            dbManager db = new dbManager();
            string sSQL = string.Format("DELETE FROM REVISIONES WHERE ID = {0}", iId);
            bool bRet = db.EjecutarSQL(sSQL);
            if (bRet)
                return 1;
            return iRet;
        }
    }
}
